package com.fcscs.cservice.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.fcscs.core.dao.Dao;
import com.fcscs.cservice.common.CServiceCommonEnums.PriceCategoryCodeEnum;
import com.fcscs.cservice.domain.InRoomItemPrice;

@Repository
public interface InRoomItemPriceDao extends Dao {

	/**
	 * @param <E>
	 * @param cls
	 * @param id
	 * @return
	 */
	<E extends InRoomItemPrice> E get(Class<E> cls, long id);

	/**
	 * @param id
	 * @return
	 */
	InRoomItemPrice get(long id);

	/**
	 * @param loc
	 * @return
	 */
	Boolean delete(InRoomItemPrice loc);

	/**
	 * @param loc
	 */
	void permDelete(InRoomItemPrice loc);
	
	void permDeletePrices(long itemId);

	/**
	 * @param <E>
	 * @param loc
	 * @return
	 */
	<E extends InRoomItemPrice> void save(E loc);
	
	 List<InRoomItemPrice> getInRoomItemPrices(long inRoomItemId);
	 
	 InRoomItemPrice getInRoomItemPrice(long inRoomItemId, PriceCategoryCodeEnum type);
	
}
